/*@author cerimice*/
package Dialogos.Modal.Apartados;

import Persistencia.Definicion.Apartado;
import Persistencia.Fachada.ApartadoFachada;
import Sistema.Configuracion;
import com.vaadin.ui.*;


public class DatosApartadoDlg extends Window
    {
    private ApartadoFachada fachada;
    private String          claveApartadoDts;
    
    private TextField   claveApartado,claveCliente,nombreCliente,telefonoFijoCliente,telefonoMovilCliente,fechaInicio,fechaTermino,marca,numeroSerie,montoTotal;
    private TextArea    descripcion;
    private Button      cerrar;
    
    public DatosApartadoDlg(String Apartado)
        {
        fachada = new ApartadoFachada();
        claveApartadoDts = Apartado;
        iniciarComponentes();
        cargarInformacion(Apartado);
        }
    
    private void iniciarComponentes()
        {
        claveApartado = new TextField("Clave de Apartado");
            claveApartado.setWidth("200px");
            claveApartado.setEnabled(false);
        fechaInicio = new TextField("Fecha de Inicio");
            fechaInicio.setWidth("200px");
            fechaInicio.setEnabled(false);
        fechaTermino = new TextField("Fecha de Termino");
            fechaTermino.setWidth("200px");
            fechaTermino.setEnabled(false);
        marca = new TextField("Marca");
            marca.setWidth("200px");
            marca.setEnabled(false);
        numeroSerie = new TextField("Numero de Serie");
            numeroSerie.setWidth("200px");
            numeroSerie.setEnabled(false);
        montoTotal = new TextField("Monto Total");
            montoTotal.setWidth("200px");
            montoTotal.setEnabled(false);
        claveCliente = new TextField("Clave Cliente");
            claveCliente.setWidth("200px");
            claveCliente.setEnabled(false);
        nombreCliente  = new TextField("Nombre Cliente");
            nombreCliente.setWidth("200px");
            nombreCliente.setEnabled(false);
        telefonoFijoCliente = new TextField("Telefono Fijo");
            telefonoFijoCliente.setWidth("200px");
            telefonoFijoCliente.setEnabled(false);
        telefonoMovilCliente = new TextField("Telefono Movil");
            telefonoMovilCliente.setWidth("200px");
            telefonoMovilCliente.setEnabled(false);
        descripcion = new TextArea("Descripción");
            descripcion.setWidth("500px");
            descripcion.setHeight("250px");
            descripcion.setEnabled(false);
            
        HorizontalLayout principal = new HorizontalLayout();
            VerticalLayout datosClienteDts = new VerticalLayout();
                datosClienteDts.setWidth("200px");
                datosClienteDts.addComponent(claveCliente);
                datosClienteDts.addComponent(nombreCliente);
                datosClienteDts.addComponent(telefonoFijoCliente);
                datosClienteDts.addComponent(telefonoMovilCliente);
            VerticalLayout datosDescripcionDts = new VerticalLayout();
                datosDescripcionDts.setWidth("500px");
                datosDescripcionDts.addComponent(descripcion);
            VerticalLayout datosApartadoDts = new VerticalLayout();
                datosApartadoDts.setWidth("200px");
                datosApartadoDts.addComponent(claveApartado);
                datosApartadoDts.addComponent(fechaInicio);
                datosApartadoDts.addComponent(fechaTermino);
                datosApartadoDts.addComponent(marca);
                datosApartadoDts.addComponent(numeroSerie);
                datosApartadoDts.addComponent(montoTotal);
            principal.addComponent(datosClienteDts);
            principal.addComponent(datosDescripcionDts);
            principal.addComponent(datosApartadoDts);
            principal.setComponentAlignment(datosClienteDts,Alignment.TOP_CENTER);
            principal.setComponentAlignment(datosDescripcionDts,Alignment.TOP_CENTER);
            principal.setComponentAlignment(datosApartadoDts,Alignment.TOP_CENTER);
        
        this.setCaption("Datos de Apartado");
        this.setContent(principal);
        this.setModal(true);
        }
    
    private void cargarInformacion(String Apartado)
        {
        try
            {
            Apartado obj = fachada.obtener(claveApartadoDts);
            claveApartado.setValue(obj.getClave());
            claveCliente.setValue(obj.getClave());
            nombreCliente.setValue(obj.getObjCliente().getNombreCompleto());
            telefonoFijoCliente.setValue(obj.getObjCliente().getTelefonoFijo());
            telefonoMovilCliente.setValue(obj.getObjCliente().getTelefonoMovil());
            fechaInicio.setValue(Configuracion.getFormatoFechaCorta().format(obj.getFechaInicio()));
            fechaTermino.setValue(Configuracion.getFormatoFechaCorta().format(obj.getFechaTermino()));
            marca.setValue(obj.getObjMarca().getNombre());
            numeroSerie.setValue(obj.getNumeroSerie());
            montoTotal.setValue(obj.getMontoTotal());
            descripcion.setValue(obj.getDescripcion());
            }
        catch(Exception ex)
            {getWindow().showNotification("Información Apartado...","Problemas al cargar la información, por reintente.",Window.Notification.TYPE_WARNING_MESSAGE);}
        }
    }
